home *** CD-ROM | disk | FTP | other *** search
/ PCMania 30 / PCMania CD30.iso / postumum / pcapsys / carg_asm.asm < prev    next >
Assembly Source File  |  1994-11-20  |  3KB  |  90 lines

  1.         .286                    ; Alguna instruccion de 286
  2.  
  3. Datos   Segment
  4.  
  5. Nombre  db 'IMAGEN1.PIC',0
  6. Handle  dw ?
  7. MsgMal  db 'Error: No se encontro el fichero o no se pudo abrir!',13,10,'$'
  8. Credits db 254,' This one coded by BAUBER of POSTUMUM',10,13,'$'
  9. Paleta  db 768 dup(0)
  10.  
  11. Datos   Ends
  12.  
  13. Codigo  Segment
  14.         Assume Cs:Codigo, Ds:Datos
  15. PonPal  Proc    Near
  16.         Mov     Si,offset Paleta
  17.         Mov     al,0
  18.         Mov     Dx,3c8h
  19.         Out     Dx,al
  20.         Inc     Dx
  21.         Mov     Cx,768
  22.         Rep     Outsb
  23.         Ret
  24. PonPal  Endp
  25.  
  26. Start:
  27.         Mov     Ax,Seg Datos
  28.         Mov     Ds,Ax
  29.         
  30.         Mov     Ah,3dh                  ; Abrir un fichero
  31.         Mov     Al,0                    ; Modo de apertura: Solo Lectura
  32.         
  33.         Mov     Dx,Offset Nombre        ; Nombre del fichero a abrir
  34.         Int     21h                     ; Abrirlo!
  35.         
  36.         Jnc     OkApertura
  37.         Mov     Dx,Offset MsgMal
  38.         Jmp     Fin
  39.         
  40. OkApertura:        
  41.         Mov     Ds:[Handle],Ax
  42.         
  43.         Mov     Ax,13h
  44.         Int     10h                     ; VGA 320x200x256
  45.         
  46.         Call    PonPal                  ; Paleta a negro
  47.         
  48.         Mov     Bx,Ds:[Handle]
  49.         Mov     Dx,Offset Paleta
  50.         Mov     Ah,3fh
  51.         Mov     Cx,768                  ; Cargar primero la paleta
  52.         Int     21h
  53.  
  54.         Mov     Bx,Ds:[Handle]
  55.         
  56.         Push    Ds                      ; Guardamos provisionalmente DS
  57.  
  58.         Mov     Ax,0a000h               ; Direccion de video
  59.         Mov     Ds,Ax        
  60.         
  61.         Mov     Ah,3fh
  62.         Mov     Cx,64000                ; Cargarmos la pantalla   
  63.         Mov     Dx,0        
  64.         Int     21h      
  65.         
  66.         Pop     Ds                      ; Recuperamos DS
  67.         
  68.         Mov     Bx,Ds:[Handle]
  69.         Mov     Ah,3eh                  ; Cerrar El fichero
  70.         Int     21h
  71.         
  72.         Call    PonPal                  ; Ponemos ahora la paleta correcta
  73.         
  74.         Mov     Ax,0
  75.         Int     16h                     ; Esperamos una tecla...
  76.  
  77.  
  78.         Mov     Ax,3
  79.         Int     10h                     ; VGA TXT 80x25x16
  80.         Mov     Dx,Offset Credits                
  81. Fin:        
  82.         Mov     Ah,09
  83.         Int     21h                     ; imprimir mensaje....
  84.         Mov     Ax,4c00h
  85.         Int     21h                     ; Salir al DOS
  86.         
  87. Codigo  Ends
  88.         
  89.         End     Start
  90.